package com.example.culture.service;

import com.example.culture.common.ServerResponse;
import com.example.culture.domain.*;
import com.github.pagehelper.PageInfo;
import org.json.JSONObject;

import java.util.List;

public interface UserService {
    User login(User user);

    List<Role> getRole();

    ServerResponse<String> register(User user);

    ServerResponse<String> generateCheckCode(String email);

    ServerResponse<String> forgetSendEmailCode(String email);

    ServerResponse<String> updatePassword(User user);

    void expertLogin(User expertLoginUser);

    ServerResponse<PageInfo> searchUser(Integer pageNum, Integer pageSize, String username,String school,String classesName,Integer roleId);

    ServerResponse deleteUser(Integer id);


    ServerResponse searchClassesAndGroup(String classesName,Integer pageNum,Integer pageSize);

    ServerResponse<String> insertBackUser(User user);

    ServerResponse<String> updateUser(User user);

    ServerResponse addExperiment(Experiment experiment);

    ServerResponse getExperiment(Integer pageNum, Integer pageSize, String school, String classesName, String groupName, String username);

    ServerResponse getClassesAndGroup();

    ServerResponse accountUser();

    ServerResponse roleNums();
}
